using System.Runtime.InteropServices;
using Expect.Core.Config;
using EnvDTE;
using System.Collections.Generic;
using Expect.VisualStudio.Extensions.Services;
using System;

namespace Expect.VisualStudio.Extensions
{    
    [Guid("D1669EA8-AD93-4E3F-A9B2-846796A8C9F1")]
    public interface IExpectVSService
    {
        void ClearCurrentItem(string newselectedfile);

        ExpectItemResolution GetCurrentItemResolution();

        SelectionResolution GetCurrentSelectionResolution();

        SelectionResolution GetResolutionForLine(int linenumber);

        ExpectConfigurationSection GetConfigurationFor(Project project);

        string CurrentFile();

        void ExpectFileLoaded(string filename);

        //List<string> GetFixtureClassHints();

        List<Declaration> GetIntellisenseDeclarations();

        void UpdateClassMap(string filename);

        event EventHandler OnSelectedFileChanged;
    }
}